////////////////////////////////////////////////////////////////
// filename: sound.h
// description: Sound class declaration
// autor: Jay Tomten (jaytomten@gmail.com)
// notes:

// namespace
using namespace std;

// defines
#ifndef __SOUND__
#define __SOUND__

#define PLAY 1
#define STOP -1

#define MUSIC_1     1800
#define MUSIC_2     1801
#define MUSIC_3     1802
#define MUSIC_4     1804
#define MUSIC_5     1805
#define MUSIC_6     1806
#define MUSIC_7     1807
#define MUSIC_8     1808
#define MUSIC_MENU  1809
#define MUSIC_STORY 1810

#define SFX_DIE1    1900
#define SFX_DIE2    1909
#define SFX_GUN1    1901
#define SFX_GUN2    1902
#define SFX_GUN3    1903
#define SFX_BLIP    1906
#define SFX_BLEEP   1907
#define SFX_CLICK   1908
#define SFX_EXPLODE 1910

// includes
#include <SDL/SDL_mixer.h>

// globals

////////////////////////////////////////////////////////////////
// Camera - class to control and manipulate our camera
class Sound {

public:

    Mix_Music *music;
    Mix_Chunk *sfxDie1;
    Mix_Chunk *sfxDie2;
    Mix_Chunk *sfxGun1;
    Mix_Chunk *sfxGun2;
    Mix_Chunk *sfxGun3;
    Mix_Chunk *sfxBlip;
    Mix_Chunk *sfxBleep;
    Mix_Chunk *sfxClick;
    Mix_Chunk *sfxExplode;
    int rate; // audio rate
    Uint16 format; // 16 bit
    int channels;
    int buffer;

    Sound();
    ~Sound();

    bool Init(int musicVolume, int soundFXVolume);
    bool PlayMusic(int s);
    void StopMusic();
    bool PlaySFX(int fx);

};

#endif
